package mybox.engine.heliostat.junit;

import java.io.IOException;



import mybox.engine.Arc;
import mybox.engine.File4Qcad;
import mybox.engine.Line;
import mybox.engine.QVector;
import mybox.engine.ReferenceIOutput;
import mybox.engine.Schachtel;
import mybox.engine.heliostat.HeliostatZahnrad;
import mybox.engine.heliostat.ZahnradLoecher;
import mybox.engine.heliostat.Zahnradgelenk;
import junit.framework.TestCase;

public class ZahradGelenkTC extends TestCase {
	
public void test_Gelenk() throws SecurityException, IOException {
		
		File4Qcad file4qcad = new File4Qcad(ReferenceIOutput.testoutputFile());		
		QVector aktPos = new QVector(0,0);
		double materialDicke=4;
		double zinkungsFaktor=1;
		double laserBreite=0.09;
		
		Zahnradgelenk servoTeil = 
				new Zahnradgelenk(
						file4qcad, 
						aktPos, 
						HeliostatZahnrad.azBoxLaenge, 
						HeliostatZahnrad.azBoxBreite, 
						HeliostatZahnrad.servoGesamtHoehePlus+2+2*materialDicke, 
						HeliostatZahnrad.bodenOberHoehe-materialDicke, 
						materialDicke,
						zinkungsFaktor,
						laserBreite
						);
		
		servoTeil.draw();
		
	    aktPos = new QVector(300,0);
	   		
	    
	    Schachtel knickTeil = 
				new Schachtel(
						file4qcad, 
						aktPos, 						
						30, 
						32.2, 
						53.65,
						materialDicke, 						 
						zinkungsFaktor,
						laserBreite);
		
	    
		knickTeil.draw();
        
		
		
		
		file4qcad.close();
		
	}

public void test_ZahnradLoecher() throws SecurityException, IOException {
	
	File4Qcad file4qcad = new File4Qcad(ReferenceIOutput.testoutputFile());		
	QVector aktPos = new QVector(0,0);
	
	ZahnradLoecher zahnradLoecher = new ZahnradLoecher(file4qcad, aktPos);
	zahnradLoecher.draw();
	file4qcad.close();	
}

public void test_ArcBefestigung() throws SecurityException, IOException {
	
	File4Qcad file4qcad = new File4Qcad(ReferenceIOutput.testoutputFile());		
	QVector aktPos = new QVector(0,0);
	
	ZahnradLoecher zahnradLoecher = new ZahnradLoecher(file4qcad, aktPos);
	QVector arcBegin = new QVector(aktPos.x,aktPos.y+HeliostatZahnrad.arcRadius);
	QVector arcEnd = new QVector(aktPos.x,aktPos.y-HeliostatZahnrad.arcRadius);
	int aufloesung=30;
	Arc arc = new Arc(file4qcad, 
						aktPos, 
						arcBegin,
						arcEnd,aufloesung);
	double extensionLaenge=34.92;
	double extensionBreite=32.2;
	
	QVector extensionUpperRightCorner=new QVector(aktPos.x+extensionLaenge-HeliostatZahnrad.arcRadius,
			aktPos.y+extensionBreite/2);
	QVector extensionLowerRightCorner=new QVector(aktPos.x+extensionLaenge-HeliostatZahnrad.arcRadius,
			aktPos.y-extensionBreite/2);
	Line upperLine = new Line(file4qcad, arcBegin, extensionUpperRightCorner);
	Line lowerLine = new Line(file4qcad, arcEnd, extensionLowerRightCorner);
	
	zahnradLoecher.draw();
	arc.draw();
	upperLine.draw();
	lowerLine.draw();
	file4qcad.close();	
}

}
